// Copyright (c) 2025 Bytedance Ltd. and/or its affiliates
// Licensed under the 【火山方舟】原型应用软件自用许可协议
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at 
//     https://www.volcengine.com/docs/82379/1433703
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

import {
  createStreamingTTS as sdkCreateStreamingTTS,
  appendStreamingTTS as sdkAppendStreamingTTS,
  cancelStreamingTTS as sdkCancelStreamingTTS,
  getImageInfo,
  startASR as sdkStartASR,
  stopASR as sdkStopASR,
  onASRResult as sdkOnASRResult,
  getQuestionSegmentList as sdkGetQuestionSegmentList
} from 'multi-modal-sdk';

export const createStreamingTTS = (options: any) => {
  return sdkCreateStreamingTTS(options);
};

export const appendStreamingTTS = (options: any) => {
  return sdkAppendStreamingTTS(options);
};

export const cancelStreamingTTS = (options: any) => {
  return sdkCancelStreamingTTS(options);
};

export const getQuestionSegmentList = async (options: { imageId: string }) => {
  return sdkGetQuestionSegmentList(options);
};

export const getCameraImage = (options: { imageId: string }) => {
  return getImageInfo(options);
};

export const startASR = () => {
  return sdkStartASR();
};

export const stopASR = () => {
  return sdkStopASR();
};

export const onASRResult = (callback: (result: { text: string; isFinished?: boolean }) => void) => {
  return sdkOnASRResult(callback);
};
